home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / checkbox / plugins / submission_info.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-10-12  |  1.7 KB  |  43 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import logging
  5. from datetime import datetime
  6. from checkbox.lib.safe import safe_md5sum
  7. from checkbox.properties import String
  8. from checkbox.plugin import Plugin
  9.  
  10. class SubmissionInfo(Plugin):
  11.     submission_id = String(required = False)
  12.     
  13.     def register(self, manager):
  14.         super(SubmissionInfo, self).register(manager)
  15.         self._system_id = None
  16.         for rt, rh in [
  17.             ('report', self.report),
  18.             ('report-system_id', self.report_system_id)]:
  19.             self._manager.reactor.call_on(rt, rh)
  20.         
  21.  
  22.     
  23.     def report_system_id(self, system_id):
  24.         self._system_id = system_id
  25.  
  26.     
  27.     def report(self):
  28.         submission_id = self.submission_id
  29.         if not submission_id:
  30.             if not self._system_id:
  31.                 return None
  32.             fingerprint = safe_md5sum()
  33.             fingerprint.update(self._system_id)
  34.             fingerprint.update(str(datetime.utcnow()))
  35.             submission_id = fingerprint.hexdigest()
  36.         
  37.         message = submission_id
  38.         logging.info('Submission ID: %s', message)
  39.         self._manager.reactor.fire('report-submission_id', message)
  40.  
  41.  
  42. factory = SubmissionInfo
  43.